世新大學九十年度第二部轉學生招生考試
系所別 |
考試科目 |
資訊管理學系 |
電子計算機概論 |
請將答案依題號書寫於答案卷上
一、單選題(達錯不倒扣,每題兩分)60%
1、大部分的試算表軟體允許使用者將幾個操作步驟組成一個自訂的程序,
稱為:(A) 連結 (B) 函數 (C) 公式 (D) 巨集
2、PQ與下列何者是邏輯相等(logically equivalent)?
(A) (P)(Q) (B) (P)(Q) (C) (P) (Q)
(D) () (-Q)
3、以2的補述的方式表示整數,則兩個8位元整數相減:01010101-
11011001的結果為:(A) 10000011 (B) 11111100 (C) 01111100
(D)100000100
4、關於關聯式資料庫資料表格的正規化(normalization),下列敘述何者不正
確?(A) 正規化可以降低資料不一致或錯誤的情況發生 (B) 正規化可以減
少資料的重覆性 (C) 正規化會減少資料表格的個數 (D) 第三正規型式刪除
遞移依賴性(transitive dependency)
5、關於二元搜尋樹(binary search tree) ,下列敘述何者不正確?
(A) 一節點最多有兩個子節點(child node) (B) 一節點的左子節點的鍵值不
會大於其右子節點的鍵值 (C) 二元搜尋樹也是一顆完整二元樹(complete binary tree)
(D) 可以是歪斜樹(skewed binary tree)
6、關於堆集(heap)資料結構,下列敘述何者不正確?
(A) 堆集資料結構可以應用於排序資料 (B) 一節點的左子節點的鍵值不會大
於其右子節點的鍵值 (C) 可以視為是一顆完整二元樹(complete binary tree)
(D) 可以利用陣列(array)表示及操作堆及資料結構
7、關於算數運算式表示法,下列敘述何者不正確?
(A)(A+B)/C-D*E 的前序式(prefix)為-/+ABC*DE
(B)中序式(infix)比後序式利於翻譯程式(assembler,compiler,……)處理
(C)(A+B)/C-D*E的後序式(postfix)為AB+C/DE*-
(D)後序式算數運算式的執行通常會利用堆疊(stack)資料結構
8、 (11010011100.1010)2=
(A)(69C.A)16
(B)(68B.9)16 (C) (68B.A)16 (D) (6AD.B)16
9、在一個堆集(heap)資料結構上搜尋最大值的時間複雜度為:
(A) 0(1) (B)0(logn) (C) 0(n) (D) 0(n2)
10、外部排序(external sort)法會使用下列何種資料結構?
(A) selection tree (B) binary search tree (C) threaded tree (D) splay tree
11、將資料2、1、4、5、3依序插入空的binary search tree,再以前序追蹤
(preorder traversal)拜訪的順序為:(A) 21435 (B) 12345 (C) 21543 (D) 21453
12、將存在陣列中的8筆資料4、2、6、5、1、7、3、8以quick sort由小排到
大,並以第一比為比較基準,則第一階段排序結果:
(A) 23146758 (B) 12345768 (C)12346758 (D) 23145768。
13、與組合語言相比,下 列何者不是高階程式語言的優點?
(A) 可攜性較高 (B)可讀性較高 (C) 執行效率較高 (D) 可為維護性較高。
14、假設某程式語言的兩個二元運算子”@”和”$”都是左結合的(left-
associative),但”@”的優先順序高於”$”。依此定義,試問下列哪個家了括
號的算式即為算式:a@b$c$d@e?
(A) (a@b)$(c$d)@e (B) (a@(b$c)$(d@e) (C) a@(b$(c$(d@e))) (D)
((a@b$(d@e)。
15、下列有關TCP/IP協定的敘述,何這不正確?
(A) HTTP是用TCP來傳送資料 (B) 是網際網路所採用的協定 (C) 也可用於
區域網路 (D) 一部PC只能有一個IP位址。
16、下列何者不是process synchronization 的機制?
(A) semaphore (B) critical region (C) monitor (D) socket。
17、下列哪個程式語言沒有提供heap配置記憶體的功能?
(A) C (B) PASCAL (C) FORTRAN (D) LISP。
18、C程式敘述”x=y/z ; “ 可能產生 “Divide-by-zero”錯誤,試問該錯誤發生於何
時期?(A)編譯期(compile time) (B)執行期(run time) (C) 連結期(link time) (D)
載入期(load time)
19、下列對程式語言中陣列(array)使用的敘述,何者不正確?
(A) 陣列的元素以索引質循序存取
(B) 陣列的元素以索引值(index value)隨機存取
(C) 一陣列的元素通常已連續的方式儲存於記憶體內
(D) 二為陣列的元素可以以列為主(row-major)或以行為主(column-major)的方式儲存。
20、張三上網下載某檔案,但發現下載速度非常緩慢,其原因最不可能為下列
何者?(A) 張三的PC採用的作業系統是Linux,而非Window98 (B) 檔案太
大 (C) 同時有非常多的其他網友也在下載此檔案 (D) 以數據機撥接上網,
而不是固接網路
21、當電腦開機時,下列那個特殊的程式會被執行?
(A) bootstrap loader (B) absolute loader (C) relocationg loader (D) linking
loader。
22、下列何者屬於物件導向語言
(A) Java (B) Fortran (C) Lisp (D) Prolog
23、如果第二次呼叫C語言的某函數(function)仍然能保留某一變數在第一次呼
叫時所儲存的值,則該變數要宣告成
(A) auto (B) static (C) register (D) struct
24、32x32 點矩陣的中文字型,在記憶體中需要幾個位元組(byte)來儲存
(A) 1024 (B) 128 (C) 256 (D) 512
25、下列何者不屬於資料庫管理系統
(A) Oracle (B) Stimula (C) Ingres (D) Informix
26、SQL(Structure Query Language)是何種資料庫的標準查詢語言
(A) Hierarchical (B) Network (C) Relational (D) Object-Oriented
27、下列何種數碼具有更正錯誤的能力
(A) ASCII code (B) parity bit (C) hamming code (D) EBCDIC code
28、儲存呼叫敘述的返回位址(Return Address)會使用何種資料結構
(A) queue (B) tree (C) set (D) stack
29、求最小成本擴張數(minimum cost spanning tree)的Kruskal 演算法是屬於哪
一種方法(A) Divide-and-Conquer (B) Backtracking (C) Dynamic Programming
30、有關SRAM和DRAM的敘述,下列何者不對?
(A) SRAM為Static Random Access Memory,DRAM為Dynamic Random
Access Memory
(B) SRAM儲存的資料不需refresh,DRAM需要refresh
(C) SRAM和DRAM都可以當做電腦的記憶體
(D) SRAM在停電後儲存的資料還在,DRAM在停電後儲存的資料就不見了
二、 問答題(每題十分)40%
1、 問下面C語言程式執行將於螢幕上印出何結果?10%
int test(int j)
{
static int x=1; x=x+j+(1!=2);
printf(“x=%d\n”,x);
}
int main(void){
int i;
for(i=0;i<5;i++)
test(i);
}
2、 請問下面C語言程式執行將於螢幕上印出何結果?10%
int main(void){ int n=1,I=1 j;
while(n<6)
{ j=1;j++;
if(((I=n+I+j)%==3)
continue;
printf((“i=%d\n”,i);
n++;}
}
3、 A於資料節區的記憶體位址為FFB0(位址以十六近為表示)且
sizeof(int)是2.請問下面C語言程式執行後將於螢幕上印出何結果?(10%)
int main(void){ int A [4] [2] [3], *ptr;
ptr=A[2];
printf(“A[2][1]=%p,A[3]=%p\n”,A[2][1],A[3]);
printf(‘A[2][1]+1=%p,A[3]+1=%p\n”,A[2][1]+1,A[3]+1);
printf(“ptr+2=%p\n’,ptr+2);}
4、 請問下面C語言程式執行將於螢幕上印出何結果?10%
void up_and_down(int);
int main(void)
{ up_and_down(3);}
void up_and_down(int n)
{ printf(“Level %d\n” , n++);
if (n.>2) up_and_down(n-2);
printf(‘LEVEL%d\n”,n--);}